#ifndef SEQUENCE_H
#define SEQUENCE_H

#include <QObject>
#include <QXmlStreamWriter>
#include <QXmlStreamReader>
#include "step.h"

class Sequence : public QObject
{
    Q_OBJECT
public:
    explicit Sequence(QObject *parent = nullptr);

    Sequence&       operator= (Sequence& sequence);

public:
    bool writeXML(QXmlStreamWriter& xmlWriter);
    void readFromXML(QXmlStreamReader& xmlReader);

private:
    QList<Step*>            m_Steps;
    QObject*                m_pParent;

public:
    QObject*                GetParent(){return m_pParent;}

public:
    void                    AddStep(Step* pStep){m_Steps.append(pStep);}
    QList<Step*>&           GetSteps(){return m_Steps;}

    void                    RemoveStep(int index){m_Steps.removeAt(index);}

signals:
};

#endif // SEQUENCE_H
